package come.bjpowernode.javase.io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/*
文件字节输出流：负责写。
    从内存到硬盘。
 */
public class FileOutputStreamTest01 {
    public static void main(String[] args) {
        FileOutputStream fos = null;
        try {
            //myFile文件不存在的时候会自动新建
            //这种方式谨慎使用，会将源文件删除再写入
            //fos = new FileOutputStream("myFile");
            //fos = new FileOutputStream("chapter23/src/tempFile3");

            //以追加的方式在文件的末尾写入
            fos = new FileOutputStream("chapter23/src/tempFile4");

            //开始写
            byte[] bytes = {97,98,99,100,101,102};
            //将byte数组全部写出。
            fos.write(bytes);//写出abcdef
            //将byte数组的一部分写出
            fos.write(bytes,0,2);//写出ab

            //字符串
            String  s = "\n我是一个中国人，我骄傲！！！";
            //字符串转换成byte[]
            byte[] bytes1 = s.getBytes();
            fos.write(bytes1);
            //写完之后一定要刷新
            fos.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            if (fos != null){
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}
